using RAGApp.Api.Models;
using RAGApp.Api.Models.DTOs;

namespace RAGApp.Api.Services.Interfaces;

public interface IDocumentService
{
    Task<DocumentResponseDto> UploadDocumentAsync(DocumentUploadDto dto);
    Task<List<DocumentResponseDto>> GetAllDocumentsAsync();
    Task<DocumentResponseDto?> GetDocumentByIdAsync(Guid id);
    Task<bool> DeleteDocumentAsync(Guid id);
    Task<List<DocumentChunk>> ChunkDocumentAsync(Document document, int chunkSize = 1000, int overlap = 200);
} 